package com.kk.score.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kk.score.entity.PushEntity;
import com.kk.score.entity.TaskEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kk.score.entity.vo.TaskPersonVo;
import com.kk.score.entity.vo.TaskVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author KK
 * @email 409592048@qq.com
 * @date 2022-11-02 12:28:00
 */
@Mapper
public interface TaskDao extends BaseMapper<TaskEntity> {

    /**
     * 批量开启任务
     *
     * @param push
     * @return
     */
    int insertAll(PushEntity push);

    /**
     * 开启一个用户任务
     *
     * @param push
     * @return
     */
    int insertByUser(PushEntity push, String userUid);

    /**
     * 批量更新任务
     *
     * @return
     */
    int updateTask(TaskEntity task);

    /**
     * 用户查询任务
     *
     * @param page
     * @param status
     * @return
     */
    IPage<TaskVo> findTaskAllByUser(Page<TaskVo> page, String userUid, String status);

    /**
     * 根据pushUid获取任务的人评价详情
     *
     * @param page
     * @param pushUid
     * @return
     */
    IPage<TaskPersonVo> findTaskPersonByPushUid(Page<TaskPersonVo> page, String pushUid);

    /**
     * 根据pushUid获取任务的人评价详情
     * @return
     */
    List<TaskPersonVo> findTasksByPushUid(String pushUid);
}
